
#ifndef MUTEX_H
#define MUTEX_H
#include <vector>
#include "../Block.h"
#include <boost/thread/mutex.hpp>
#include <boost/thread/condition_variable.hpp>
#include <boost/thread/barrier.hpp>
struct Mutex{
    static boost::mutex thread_count_mutex;
    static boost::mutex dictionary_mutex;
    static boost::condition_variable thread_created_condition;
    static boost::mutex thread_create_mutex;
    static boost::barrier run_thread_barrier;
    static boost::mutex cout_mutex;
};
struct Global{
    static int thread_count;
};
std::vector<std::vector<Block<4> > > dictionary(65536,std::vector<Block<4> >(100));
std::vector<int> dictionary_block_number(65536);
#endif

